Systems and methods for assigning an address to a network device added to an existing network

ABSTRACT

The present invention provides systems, methods, and bus controllers ( 12 ) for establishing communication with various network systems located on a network system ( 10 ). Importantly, the systems, methods, and bus controllers ( 12 ) of the present invention are capable recognizing that a new network device ( 16, 18, 20 ) has been added to an existing network and assigning it an address such that the added network device is identifiable on the network. Further, the systems, methods, and bus controllers ( 12 ) of the present invention may update the operating schedule that outlines communication in the network system between the bus controller ( 12 ) and the network devices ( 16, 18, 20 ) to include commands for communicating with the added network device. The systems, methods, and bus controllers ( 12 ) of the present invention may also detect when a network device ( 16, 18, 20 ) has been disconnected from a network system ( 10 ) and remove the commands associated with the networked device from the command schedule.

FIELD OF THE INVENTION

The present invention relates generally to establishing communicationover a network bus and, more particularly, to systems and methods forassigning an address to a network device added to an existing networkbus, where the address is used to identify the added network device.

BACKGROUND OF THE INVENTION

As systems, such as the multimedia entertainment, communications anddiagnostic systems utilized by the automotive and aerospace industries,become more complex, a need arises for additional devices tocommunicate, either with each other or with a central controller or thelike. Historically, these systems included dedicated wiring extendingbetween the various devices in order to support communicationstherebetween. As systems have become more integrated and thecommunications requirements have been increased, the amount of dedicatedwiring that would be required can quickly become excessively large, bothin terms of the space required for the wiring and the cost of the wiringand the attendant installation.

As such, network systems have been developed to provide a commoncommunications path between a plurality of network devices. Inautomotive and aerospace applications, for example, a network system canbe utilized that includes a plurality of network devices locatedthroughout the aircraft or vehicle to monitor various components and tocollect diagnostic and status information. In this regard, diagnosticand status information relating to the strain, acceleration, pressureand/or temperature to which the various components of the automobile oraircraft are subjected may be collected and analyzed. By way of furtherexample, a network bus architecture is currently being developed tosupport communications and the delivery of multimedia information to theoccupants of a vehicle, such as an automobile, minivan, sports utilityvehicle, aircraft, boat or the like. Advantageously, this network bussystem would transport the audio signals, including streaming audiosignals, produced by one or more network devices, such as a radio, acassette tape player, a compact disc player or the like to selectedspeakers or headphone jacks throughout the vehicle. Similarly, thenetwork bus may support voice and data communications with a cellulartelephone carried by an occupant of the vehicle, as well ascommunications with a laptop computer, a handheld computing device orthe like. In addition, the network bus may transmit video signals,including streaming video signals, from a television receiver, avideocassette recorder or other video source to one or more videomonitors. Further, the network bus system may transport informationrelated to diagnostic performance of the vehicle. Further, the networkbus system may transmit sensor and actuator signals to and from devicessuch as drivetrain devices, passive restraint devices, crash avoidancedevices, drive-by-wire devices, or the like.

In addition to the variety of network devices that are connected to anetwork bus, one or more controllers are also generally connected to thenetwork bus for receiving data from the various devices and for sendingcommands to the devices. Among other things, these commands specify themanner in which the various devices are to function including the mannerin which the various devices are to transmit information over thenetwork bus. Additionally, the controller(s) can receive input from anoperator, such as an occupant of the vehicle. This input can include,for example, an indication of the source(s) of the signals to betransmitted over the network bus as well as the destination of thesignals.

An important aspect of network systems is the ability of thecontroller(s) to individually address either one or a subset of thenetwork devices on the network system for either receiving informationfrom or transmitting data to the network devices. For example, asdescribed above, a typical network system may include several differenttypes of network devices commonly connected to the same network bus.These devices may include multimedia devices, sensors, actuators, etc.all employed to provide certain functions within the system. In thesenetwork systems, the bus controller(s) must be able to address thenetwork devices such that they perform their intended functions in thenetwork system. In this regard, most network systems include anaddressing scheme in which each of the network devices has an associatedunique address. This unique address is used with the network system toidentify and communicate with the network devices.

An important goal of many existing network systems and network systemscurrently in development is the ability to provide a flexible openframework system. Specifically, it is advantageous to provide a networksystem that allows for easy application of additional network devices tothe current system or to remove network devices from the system. Forexample, in cases where network systems are used for diagnosticmonitoring, it may be advantageous to allow for expansion of the networksystem by addition of new network devices, such as for exampleadditional sensors or actuators. It may also be advantageous to allowfor addition of portable or temporary network devices to the networksystem, such as diagnostic equipment, lap tops, etc., to performdiagnostics or other functions in the network. Similarly, in instancesin which the network system includes a multimedia and/or communicationcomponent, it may be advantageous to allow systems such as cell phones,lap tops, game devices, etc. to be quickly and easily added ordisconnected from the network system in a plug-n-play manner. An examplewould be the network system described above for use with vehicles, wherethe user may wish to connect their cell phone, laptop, multimediaplayer, etc. into the existing network system of the vehicle.

Although providing an open framework to allow expandability of thenetwork system and/or plug-n-play capabilities is advantageous, theremay be some difficulties implementing these features in current networksystems. Specifically, as discussed above, many conventional networksystems communicate with the various network devices using a uniqueaddress associated with the network device. These unique addresses aretypically assigned during initial configuration of the network, at whichtime all network devices on the network bus receive their uniqueaddress. Further, during operation, the bus controller(s) typically usesa schedule, sometimes referred to as an operation or command schedule,to control the operation of the network system. The schedule contains alist of commands with predictable responses scheduled to communicatewith the various network devices on the network using the addressesassigned to the network devices. As the addresses are typically assignedbefore communication in accordance with the schedule is began and theschedule typically only includes commands for the network devicescurrently connected to the network bus, subsequent network devices addedto the network bus may not have an assigned address or be included inthe schedule for communication on the network bus.

One solution to this problem is to preconfigure the added network deviceto have an assigned address. In this instance, the command schedulecould also include commands that determine whether the network device iscurrently connected to the network bus and if so, perform desiredcommunication with the added network device. However, this solutionwould require that addresses be set aside for a broad range of devicesthat could possibly be connected to the network bus and that theschedule include code for many network devices that may never beconnected to the network bus. This may increase memory size and delay inthe system. As such, a system is needed that allows for additionalnetwork devices to be added to the bus network in a plug-n-play fashion,while at the same time minimizing complexity and delay time.

SUMMARY OF THE INVENTION

As set forth below, the present invention provides systems, methods, andbus controllers for establishing communication on a network bus.Importantly, the systems, methods, and bus controllers of the presentinvention are capable of providing a unique address for additionalnetwork devices added to the network bus after an initial set of networkdevices have been assigned addresses and communication has commencedwith the initial set of network devices. Further, the systems, methods,and bus controllers of the present invention may also configure thecommand schedule used to communicate with the network devices to includecommands for communicating with the newly added network device. As such,the systems, methods, and bus controllers of the present invention allowfor the addition of new network devices in a plug-n-play fashion withouthaving to prestore an address for the newly added network device orinclude commands in the initial schedule used by the bus controller inanticipation that the additional network device will be added to thenetwork system.

For example, in one embodiment, the present invention provides a systemfor communicating over a network bus. The system includes an initial setof network devices connected to a network bus that each has an assignedlogical address for identifying the individual network devices.Additionally, the system includes a bus controller in electricalcommunication with the network bus for establishing communication withnetwork devices connected to the network bus using the logical addressassigned to each network device. In the system of the present invention,if an additional network device is electrically connected to the networkbus after the bus controller has established communication with theinitial set of network devices, the bus controller will assign a logicaladdress to the additional network device. This, in turn, makes theadditional network device identifiable on the network bus.

In some embodiments of the present invention, the bus controller notonly assigns a logical address to the newly added network device, butalso initially assigns logical addresses for each of the network devicesof the initial set of network devices. Specifically, in one embodiment,the logical address for each network device is assigned based on aunique aspect of the network device. In this embodiment, the buscontroller initially assigns a unique logical address to each networkdevice of the set of initial network devices based on a unique aspect ofeach of the network devices. Further, after the bus controller hasestablished communication with the set of initial network devices, if anadditional network device is added, the bus controller assigns a logicaladdress to the additional network based on a unique aspect of theadditional network device.

As mentioned, the bus controller may assign the logical addresses to thenetwork devices based on a unique aspect of each network device. In oneembodiment, each network device includes an associated manufacturingidentifier that is based partially on the geographic location where thenetwork device was manufactured. In this embodiment of the presentinvention, the bus controller of the present invention assigns logicaladdresses to the network devices of the initial set of network devicesand additional network devices based on the manufacturing identifierassociated with each network device.

In addition to having a unique manufacturing identifier, in someembodiments, the network devices may also include a function typeidentifier indicating characteristics concerning the network device. Forexample, the function type identifier may indicate whether the networkdevice is a sensor, actuator, multimedia device, computer, cell phone,etc. In this embodiment, the bus controller may assign logical addressesbased on both the manufacture identifier and the function typeidentifier associated with the network device. For example, the buscontroller of the present invention may segment the possible logicaladdresses to be assigned to the network devices into separate rangesbased on the type of network devices. Network devices such as a sensormay have a logical address assigned from a first range of logicaladdresses, an actuator may have a logical address assigned from a secondrange of logical addresses, a multimedia device may have a logicaladdress assigned from a third range of logical addresses, and so on. Inthis embodiment of the present invention, the bus controller initiallydetermines the manufacture identity associated with a network device andthen the function type identity. Based on the two identities, the buscontroller of the present invention assigns the network device a logicaladdress from the range of logical addresses associated with the functiontype identity of the network device.

As discussed above, during an initial set up period, the bus controllerof the present invention may assign logical addresses to the individualnetwork devices of the set of initial network devices and then commencecommunication with the network devices. To determine whether additionalnetwork devices have been added, the bus controller of the presentinvention may periodically issue a query on the network bus requestingthat additional network devices connected to the network bus not havingan assigned logical address respond to the bus controller. If newnetwork devices have been added to the network bus, they will provide anindication to the bus controller via the network bus. The bus controllerof the present invention will then assign each of the added networkdevices a logical address, thereby making the added network devicesavailable for communication on the network bus.

In an additional embodiment, each of the additional network devices hasan associated common null address prior to connection to the networkbus. The common null address is an address shared by all additionalnetwork devices that could be added to the network. In this embodiment,after the bus controller has established communication with the networkdevices of the initial set of network devices, the bus controllertransmits a query on the network bus requesting that additional networkdevices connected to the network bus having an associated common nulladdress respond to the bus controller. Thereafter, the bus controllerreplaces the common null address associated with each of the additionalnetwork devices with a logical address.

As discussed in the above embodiment, all additional network devices ofthis embodiment have an associated common null address prior toconnection to the network bus, and are provided with an assigned logicaladdress when connected to the network bus. In embodiments in which theadditional network device is subsequently removed from the network bus,the network device replaces the assigned logical address with the commonnull address to thereby revert back to the common null address. The buscontroller can monitor network devices that are currently placed intothe operational schedule constantly to verify that they have not beenremoved from the network. Further, the bus controller can monitor alladditional devices currently not in the operational schedule byperiodically sending a query to these devices. Devices removed from thenetwork are removed from the network controller's logical addressassignment.

As mentioned, after the bus controller has assigned logical addresses toeach of the network devices, it then establishes communication with thenetwork devices. In some embodiments of the present invention, the buscontroller may use an command schedule that outlines timing andcommunication schedules for communicating with each of the networkdevices. In this embodiment, if an additional network device is added tothe network bus, the bus controller may handle assignment of a logicaladdress to the additional network device in two ways. Specifically, thebus controller may either continue communication with the initialnetwork devices in accordance with the command schedule and assign alogical address to the additional network device during predefinedpauses in the command schedule, or the bus controller may postponecommunication with the other network devices to assign the logicaladdress.

In addition to assigning a logical address to the additional networkdevice connected to the network bus to make it identifiable, in someembodiments, the bus controller of the present invention may also beadaptable to add the additional network device to the command schedule.For example, in one embodiment, the additional network device mayinclude an associated function type identifier indicating the functionof the additional network device. Using this function type identifierand/or additional information associated with the network device, thebus controller of the present invention may update the command scheduleto include the additional network device, thereby allowing the buscontroller to communicate with the additional network device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a general network system in which thesystems, methods, and bus controllers of the present invention may beimplemented;

FIGS. 2A and 2B are block diagrams illustrating initialization andassignment of logical addresses to an initial set of network devices ofa network system based on manufacture identity according to oneembodiment of the present invention;

FIGS. 2C and 2D are block diagrams illustrating assignment of a logicaladdress based on manufacture identity to a new network device addedduring operation of a network system according to one embodiment of thepresent invention;

FIG. 2E is a block diagram illustrating the removal of a device from thenetwork and the reversion of the logical address back to the nulladdress according to one embodiment of the present invention;

FIG. 3 is an operational block diagram illustrating assignment oflogical addresses to both an initial set of network devices andsubsequently added network devices, as well as the removal of a networkdevice for a network system according to one embodiment of the presentinvention;

FIGS. 4A and 4B are block diagrams illustrating initialization andassignment of logical addresses to an initial set of network devices ofa network system based on manufacture identity and function typeidentity according to one embodiment of the present invention; and

FIGS. 4C and 4D illustrate assignment of a logical address based onmanufacture identity and function type identity to a new network deviceadded during operation of a network system according to one embodimentof the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, in which preferred embodimentsof the invention are shown. This invention may, however, be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein; rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. Likenumbers refer to like elements throughout.

As mentioned above and described in greater detail below, the presentinvention provides systems, methods, and bus controllers forestablishing communication over a network bus with network devicesconnected thereto. Importantly, the systems, methods, and buscontrollers of the present invention allow additional network devices tobe connected to an existing network system during operation of thenetwork system. The systems, methods, and bus controllers of the presentinvention assign a logical address to the newly added network device sothat the added network device is made identifiable on the network bus.Further, in some embodiments, the systems, methods, and bus controllersof the present invention update the command schedule used by the buscontroller to communicate with the network devices to include the addednetwork device, such that the bus controller can communicate with thenewly added network device. Additionally, the systems, methods, and buscontrollers of the present invention may detect when a network devicehas been disconnected from the network system. As such, the presentinvention allows additional network devices to be added to ordisconnected from an existing network system in a plug-n-play manner.

At the outset, it is important to note that the systems, methods, andbus controllers of the present invention may be implemented in any typeof network system. The network system may be resident in an aircraft,spacecraft, vehicle, building, or any other packages or structure. Asexamples, the systems, methods, and bus controllers of the presentinvention may be implemented in a network system resident on anaircraft, in which the network includes a plurality of sensors,actuators, etc. all connected to a common network bus for communicationwith a bus controller to determine performance, status, etc. concerningthe various components of the aircraft.

The systems, methods, and bus controllers of the present invention mayalso be implemented in a network system in a vehicle such as anautomobile in which the network system includes sensors and actuatorsconnected to different components of the vehicle. The network system mayalso include multimedia devices such as radios, cassette tape players,compact disc players or the like, and associated speakers or headphonejacks throughout the vehicle. Similarly, the network bus may supportvoice and data communications with a cellular telephone carried by anoccupant of the vehicle, as well as communications with a laptopcomputer, a handheld computing device or the like. In addition, thenetwork bus may transmit video signals, including streaming videosignals, from a television receiver, a videocassette recorder or othervideo source to one or more video monitors. Regardless of the networksystem in which the present invention is implemented, the systems,methods, and bus controllers of the present invention allow foradditional network devices to be added to or disconnected from anexisting network system in a plug-n-play manner.

With reference to FIG. 1, a generalized network system in which thepresent invention may be implemented is illustrated. Specifically, FIG.1 illustrates a common master/slave network system 10 having a hostcomputer or bus controller 12, a network bus 14, and a number of networkdevices 16–20. In this configuration, the bus controller typicallyprovides configuration and control of the network 10. Further, theindividual network devices include assigned identifiers or addressesthat uniquely define the network devices on the bus. In operation, thebus controller typically sends commands via the network bus to thenetwork devices, along with the address of the network device or networkdevices that are supposed to follow the command. The network device ordevices designated by the address sent with the command, perform theactions associated with the command and may respond by placing data onthe network bus to be sent to either the bus controller or anothernetwork device.

The bus controller typically uses an command schedule, sometimesreferred to as an operation schedule, that outlines the communicationsbetween the bus controller and the network devices. The command scheduletakes into account the sampling rates and other requirements of thedevices and lists the commands and timing for commands to the variousnetwork devices to perform the desired operations of the network.

An important aspect of the above described network system is the needfor unique address assignments for each of the network devices so thateach network device can be identified on the network for transmission ofcommands and data. Further, it is important that each of the networkdevices is included in the command schedule used by the bus controllerfor communicating with the network devices. In light of this, animportant procedure for adding additional network devices to an existingnetwork system is the assignment of an address for the added networkdevice and the inclusion of the network device in the command schedule.Many conventional network systems solve this problem by preassigningaddresses to possible network devices and including commands directed tothe possible network devices in the command schedule. This conventionalsolution may be disadvantageous as it adds complexity to the networksystem. As such, the present invention provides systems, methods, andbus controllers that address problems associated with adding additionalnetwork devices to an existing network.

As indicated, the systems, methods, and bus controllers of the presentinvention may be implemented in any network system. To provide a morecomplete disclosure, however, discussed below is a specific example ofthe use of the present invention in a particular network system. U.S.patent application Ser. No. 09/735,146, entitled: Network DeviceInterface for Digitally Interfacing Data Channels to a Controller via aNetwork filed on Dec. 12, 2000 and U.S. patent application Ser. No.09/736,878, entitled: Network Controller for Digitally ControllingRemote Devices via a Common Bus filed on Dec. 14, 2000 and incorporatedherein by reference describe a network system that uses a bus controllerto control a variety of network devices using a low-level instructionprotocol. These applications also describe unique NDI devices that maybe associated with each network device in the network for handlingcommunication between the network devices and the bus controller. Thenetwork system provided in these applications is contemplated for abroad range of uses, some of which involve the connection anddisconnection of network devices in a plug-n-play manner. Below isprovided an illustration of the systems, methods, and bus controllers ofthe present invention used in conjunction with this network system. Inthe below description, the network system of U.S. patent applicationSer. Nos. 09/735,146 and 09/736,878 is referred to as the examplenetwork system.

It must be understood that this is only one example of the presentinvention implemented in a particular network system. The presentinvention should not be limited to the implementation discussed below.For example, the network system described below uses the manufactureidentity for assigning logical addresses. It must be understood,however, that any unique aspect of the network devices may be used forlogical address assignment. Also, the network system described below mayuse the function type identity of the device to assign logical addressesby category. However, any criteria may be used to categorize the logicaladdresses. Further, the network system described below assigns logicaladdresses to the network devices. However, it should be understood thatthe network system can additionally or alternatively assign groupaddresses to the network devices. In this regard, for information ongroup addresses associated with the network devices, see the U.S. patentapplication Ser. No. 09/736,878.

As described in U.S. patent application Ser. Nos. 09/735,146 and09/736,878, the example network system uses a manufacture identity tocreate logical addresses for each of the network devices connected tothe system. The manufacture identity is a unique aspect of each device.This manufacture identity is typically referred to as the UniversalUnique Identifier (UUID) code. The UUID code is an 80-bit code stored ineach of the network devices that is unique to each network device and isbased at least partially on the location and date the network device wasmanufactured. Given the large size of the UUID code, the example networksystem typically does not use the UUID code itself for identification ofthe network devices, instead the bus controller, based on the UUID code,creates a shorter, more manageable logical address for each networkdevice.

Specifically, FIG. 2A illustrates the network system 10 of FIG. 1 priorto initialization of the network. In this instance, the network system10 includes three initial network devices each having a uniquemanufacture identity or UUID code. At the outset, each of the networkdevices shares a common null address, (shown here as 1022). The commonlogical address could be any chosen value. With reference to FIG. 3,during initialization, the bus controller of the present inventioninitially assigns a unique logical address to each of the initialnetwork devices replacing the common null address. (See step 100). Thisassignment process is essentially a competition based on the bits of theUUID code associated with each network device, so that the buscontroller through process of elimination can uniquely identify eachnetwork device and assign it a logical address. The bus controller ofthe present invention sends out a device inventory command along witheither a global address (0) or the common null address to place all ofthe initial network devices in an inventory mode. Through a series ofcommands that allow the bus controller to evaluate the UUID code foreach network device, a logical address is assigned to each of theinitial set of network devices on at a time. FIG. 2B illustrates thenetwork system of FIG. 2A after the initial set of network devices havebeen assigned unique logical addresses based on their associated UUIDcode. The assignment of logical addresses based un UUID code isexplained more fully in U.S. patent application Ser. No. 09/735,146,which has been incorporated by reference in its entirety.

As shown in FIG. 2C, during operation of the network system 10, in whichthe bus controller is communicating with the initial set of networkdevices 16–20 using an command schedule (FIG. 3 step 105), an additionalnetwork device 22 or several additional network devices may be added tothe network system 10. As the added network device does not have anassigned unique address and is not included in the command schedule, thenewly added network device is not yet available for communication on thenetwork system.

With reference to FIG. 3, to remedy this problem, the bus controller ofthe present invention detects that an additional network device has beenadded and assigns it an address. It may also add the network device tothe command schedule. Specifically, to detect whether additional networkdevices have been added to the network, the bus controller of thepresent invention may periodically, in addition to performing thecommands in the command schedule, transmit a query on the network busrequesting that all network devices not having an assigned logicaladdress respond. (See step 110). This query may be in the form of astatus command as discussed in U.S. patent application Ser. No.09/735,146 or similar type command. With respect to the query, in oneadvantageous embodiment, each network device, prior to assignment of aunique logical address, has the same common null address. In thisembodiment, to determine if additional network devices have been addedto the network system, after those already on the network have beenassigned unique logical addresses, the bus controller of the presentinvention transmits a query commanding network devices having a commonnull address to respond. For example, as shown in FIG. 2C, the newlyadded network device 22 has an associated UUID code and a common nulladdress, (1022). In this instance, the bus controller will send acommand requesting that all network devices having a logical address of1022 respond. (See step 110).

In response to the command from the bus controller, any additionalnetwork devices that have been added since the last assignment oflogical addresses will respond to the bus controller across the networkbus using a pulse, message or other similar signal. If the buscontroller receives a signal that new network devices have been added,(see step 120), the bus controller of the present invention can thenassign a unique logical address to each of the new network devicesreplacing the common null address. (See step 130). The logical addressis assigned by performing a device inventory on only the newly addednetwork devices. In other words, the bus controller of the presentinvention evaluates the UUID code associated with each new networkdevice. As each newly added network device is identified by the buscontroller in the UUID competition through process of elimination, thebus controller assigns a unique logical address to the network device.The logical address replaces the common null address that was previouslyassociated with the network device. As such, the bus controller of thepresent invention provides a unique identity to the added networkdevices, such that the network devices are identifiable on the networkbus. With reference to FIG. 2D, the newly added network device 22 hasbeen assigned a unique logical address of 23 that identifies it on thenetwork.

In cases where only one new network device has been added, the buscontroller may assign the next logical address to the new network devicewithout performing the UUID competition. If more than one new networkdevice has been added since the last assignment of logical addresses,then all of the newly added network devices will respond by sending apulse or signal to the bus controller in response to the request fromthe bus controller. Because all of the newly added devices will respondat essentially the same time, the signals sent to the bus controllerwill be affected by the signals transmitted by the other newly addedremote devices, indicating to the bus controller that more than onenetwork device has been added. In which case, the bus controller willperform the UUID competition. However, if only one new network devicehas been added, its signal will not be distorted, and the bus controllerof the present invention will know that only one new network device hasbeen added. In this instance, the bus controller may just assign thenext available logical address to the new network device.

Importantly, as illustrated, the systems, methods, and bus controllersof the present invention allow additional network devices to be added toan existing network system and be made identifiable on the networksystem. As such, portable systems such as cell phones, laptops, oradditional permanent network devices can be easily added to an existingnetwork.

As mentioned, the bus controller, during execution of the commandschedule, periodically transmits a query on the network bus to determineif new network devices have been added to the network system. In oneembodiment of the present invention, if a new network device has beendetected, the bus controller of the present invention will postponeoperation of the schedule and will assign a logical address to the newnetwork device. In some embodiments, however, where it is critical forthe bus controller to continuously operate in accordance with thecommand schedule, the bus controller may continue to perform the stepsoutlined in the schedule and assign an address to the added networkdevice during pauses in the command schedule.

With regard to the assignment of logical addresses, the logical addressmay be assigned to the initial and newly added network devices in anymanner, be it in a sequential order as each network device is detectedor based on a unique aspect of the network device. In the aboveembodiment, the logical addresses are assigned based on a manufactureidentity of the network device. Given that there may be a large numberof network devices in some network systems, in some embodiments, the buscontroller of the present invention may further assign logical addressesbased on the type of network device.

Specifically, as discussed above, some network systems, such as thoseinstalled in automobiles, may have a wide variety of different types ofnetwork devices connected to the network bus. For example, the networksystem may include sensors, actuators, multi-media systems, cell phones,laptops etc. In these instances, it may be advantageous to providelogical addresses to the network devices based on a function typeidentity. As such, in one embodiment of the present invention, inaddition to including a stored manufacture identity, the network devicesalso include a stored function type identity. This function typeidentity may simply indicate the type of network device or may includemore detailed information concerning the operation of the networkdevice.

As an example, FIG. 4A is an illustration of the network system 10 ofFIG. 2A where each of the network devices also includes an associatedfunction type identity. In this embodiment, the network device labeled16 is a sensor having an associated function type identity, typically inbit format, indicating that it is a position sensor. Further, thenetwork device labeled 18 is an actuator, and the network device labeled20 is a multimedia device.

In this embodiment, to assign logical addresses by manufacture code andfunction type identity, the bus controller of the present inventioncreates logical address ranges for each type of network device that canbe connected to the network system. In other words, the bus controllercreates a first range of logical addresses for sensors, a second foractuators, a third for multimedia devices, and so on. In the embodimentshown in FIG. 4A, the bus controller uses logical values in the range of20–29 for sensors, 30–39 for actuators, and 40–49 for multimediadevices.

With regard to FIG. 3, in operation, when assigning logical addresses,the bus controller of the present invention initially performs anassignment competition between all of the network devices based on themanufacture identity associated with each network device. As eachnetwork device wins the competition, the bus controller evaluates thefunction type identity associated with the network device. Based on thefunction type identity, the bus controller of the present inventionassigns the next available logical address from the range of logicaladdresses associated with the function type of device. (See step 100).As shown in FIG. 4B, in this particular embodiment, the initial set ofnetwork devices would be given the following logical addresses: sensornetwork device 16 has a logical address 20, actuator network device 18has a logical address 30, and multimedia device 20 has a logical address40.

As shown in FIG. 4C, during operation of the network system 10 of thisembodiment, an additional network device 22 having a function typeidentity of a multimedia device and a common null logical address isadded to the network. Following the addition of the network device, inaccordance with the command schedule, the bus controller of the presentinvention transmits a query requesting that all network devices having acommon null address respond. (See step 110). In response to the commandfrom the bus controller, the additional network device 22 responds tothe bus controller across the network bus using a pulse or other similarsignal. (See step 120). The bus controller performs a device inventoryon the newly added network device. After evaluating the UUID code toidentify the network device, the bus controller next loads and evaluatesthe function type identity of the device. As shown in FIG. 4D, based onthe function type identity of the device, bus controller of the presentinvention assigns the newly added network device a logical address of 41as it is the next available logical address from the range of logicaladdresses set aside by the bus controller. (See step 130). As such,additional network devices may be added during the operation of thenetwork system and assigned logical addresses from the range of logicaladdresses corresponding to the network device's function type identity.

In the above description, the bus controller of the present inventioninitially performs a UUID competition on all network devices and, aseach device wins, the bus controller then looks at the function type todetermine which range of codes to use in assigning the unique logicaladdress. In some embodiments, however, the bus controller of the presentinvention may first look at the function type for each device and thenthe UUID code for logical address assignment.

As described above, the bus controller of the present invention iscapable of assigning a unique address to a newly added network device,so that it is identifiable on the network system. In addition, in someembodiments, the bus controller is also capable of updating the commandschedule to include commands for the newly added network device.Specifically, the command schedule typically includes a series ofcommands directed to either one or a group of network devices that areto be communicated with or polled by the bus controller at scheduledtime intervals. By knowing the function type identity of the networkdevice, the bus controller, in some embodiments, may update the commandschedule to include the additional network device.

For example, in one embodiment, the function type identity may includeseveral pieces of information concerning the network device, such as thetype of device, the time interval between communications, detailsregarding input and output ports of the network device, and the set ofcommands that should be used to communicate with the network device. Inthis embodiment, after the bus controller has assigned a logical addressto the network device, the bus controller of the present invention,using the function type identity information, will update the commandschedule to include directions for communicating with the newly addednetwork device. (See step 140).

As an alternative, the bus controller may include a memory device havingprestored scheduling information tailored for different types of networkdevices. In this instance, the bus controller evaluates the type ofnetwork device based on the associated function type identity andretrieves the prestored schedule information relating to the functiontype identity and updates the command schedule with this information.For example, the bus controller may include prestored scheduleinformation for multimedia devices that describes the timing and controlinformation needed to communicate with the network device. In thisinstance, if the newly added network device is a multimedia device, thebus controller will first assign it a logical address based on itsmanufacture identity or maybe both its manufacture identity and functiontype identity. The bus controller will then use the function typeidentity to retrieve the prestored schedule information for multimediadevices and update the command schedule to include this information forcommunication with the newly added network device. (See step 140).

In still a further embodiment, the network system may already includenetwork devices of the same type as the newly added network device, suchas in the case of an added sensor or actuator added to a bank ofexisting sensors or actuators. In this instance, because the newly addedsensor will have the same scheduling information as the existing networkdevices of the same type, the bus controller of the present inventionmerely updates the information already stored for the existing networkdevices in the command schedule to include the logical address of theadded network device.

In addition to allowing for the addition of new network devices, thepresent invention may also allow for network devices on the networksystem to be removed during operation. As stated previously, some of thenetwork devices contemplated for connection to the network system may beportable devices, such as personal multimedia equipment, cell phones,laptops, etc. that are meant to be added and removed from the networksystem in a plug-n-play manner. When a network device is removed fromthe network system, the unique logical address assigned and stored inthe network device should be reset to the common null address. Further,the information relating to the network device should be removed fromthe command schedule, so that bus controller does not continue toperform commands for a network device that is no longer connected to thenetwork.

In this regard, as the bus controller performs communication with thenetwork devices in accordance with the command schedule and/or aperiodic query of currently unscheduled devices, if a network device isremoved from the network, it will cease communicating with the buscontroller. If the network device does not respond to the bus controllerwithin a selected time period, the bus controller will assume that thenetwork device has been removed from the network. In this instance, thebus controller will update the command schedule by removing the commandsassociated with the network device from the schedule.

Further, the remote device may be configured to reset the stored logicaladdress to the common null address when it is removed from the networksystem. As such, when or if the network device is reconnected to thenetwork, it will properly respond to the controller's request that allnetwork devices having null address respond so that the bus controllercan again assign the network device a unique logical address. As anexample, FIG. 2E illustrates removal of the network device labeled 22from the network system 10. As can be seen, the logical address 23earlier assigned by the bus controller has been replaced by the commonnull address of 1022.

The above embodiments of the present invention are described inconjunction with the example network system of U.S. patent applicationSer. Nos. 09/735,146 and 09/736,878. The example network systemtypically include a network device interface (NDI) connected between thenetwork bus and the network devices and translates commands from the buscontroller to the remote device. In some embodiments, the manufactureidentity and function type identity are stored in the NDI. In thisinstance, when a network device is added to the network bus, the NDIassociated with the network device will contain the manufacture andfunction type identities associated with the newly added network deviceand will communicate with the bus controller.

Many modifications and other embodiments of the invention will come tomind to one skilled in the art to which this invention pertains havingthe benefit of the teachings presented in the foregoing descriptions andthe associated drawings. Therefore, it is to be understood that theinvention is not to be limited to the specific embodiments disclosed andthat modifications and other embodiments are intended to be includedwithin the scope of the appended claims. Although specific terms areemployed herein, they are used in a generic and descriptive sense onlyand not for purposes of limitation.

1. A system for establishing communication over a network buscomprising: an initial set of network devices in electricalcommunication with the network bus, wherein each of the network devicesof said initial set of network devices has an assigned logical addressidentifying the network devices on the network bus; a bus controller inelectrical communication with the network bus for establishingcommunication with network devices connected to the network bus usingthe logical address assigned to each network device; and at least oneadditional network device electrically connected to the network busafter said bus controller has established communication with saidinitial set of network devices, wherein said bus controller is capableof assigning a logical address to said additional network devices,wherein said bus controller after establishing communication wit thenetwork devices of said initial set of network devices, transmits aquery on the network bus to all network devices at substantially thesame time requesting that additional network devices connected to thenetwork bus not having an assigned logical address respond to said buscontroller, and thereafter said bus controller assigns logical addressesto each of said additional network devices tat do not currently have anassociated logical address, wherein the logical address for each networkdevice is assigned based on a unique aspect of the network device,wherein said bus controller initially assigns a unique logical addressto each network device of said set of initial network devices, andwherein said bus controller after establishing communication with saidset of initial network devices, assigns a logical address to saidadditional network device subsequently connected to the bus networkbased on a unique aspect of said additional network device.
 2. A systemaccording to claim 1, wherein the network devices afraid initial set ofnetwork devices and said additional network device have an associatedmanufacturing identifier based partially on the geographic locationwhere the network device was manufactured, and wherein said buscontroller assigns logical addresses to the network device of saidinitial set of network devices and said additional network device basedon the manufacturing identifier associated with each network device. 3.A system according to claim 2, wherein the network devices of saidinitial set of network devices and said additional network device havean associated type identifier based on a function of the network device)wherein said bus controller assigns logical addresses to each of saidinitial set of network devices and said additional network device basedon both the manufacturing identifier and the type identifier associatedwith the network devices.
 4. A system according to claim 3, wherein saidbus controller segments possible logical addresses to assign to thenetwork devices into categories based on possible different types ofnetwork devices, and wherein said bus controller, for each networkdevice of said initial set of network devices and for said additionalnetwork device, assigns a logical address to said network device fromthe category of logical addresses corresponding to the type identifierassociated with the network device.
 5. A system for establishingcommunication over a network bus comprising: an initial set of networkdevices in electrical communication with the network bus, wherein eachof the network devices of said initial set of network devices has anassigned logical address identifying the network devices on the networkbus; a bus controller in electrical communication with the network busfor establishing communication with network devices connected to thenetwork bus using the logical address assigned to each network device;and at least one additional network device electrically connected to thenetwork bus after said bus controller has established communication withsaid initial set of network devices, wherein said bus controller iscapable of assigning a logical address to said additional networkdevices, wherein said bus controller after establishing communicationwith the network devices of said initial set of network devices,transmits a query on the network bus to all network devices atsubstantially the same time requesting that additional network devicesconnected to the network bus not having an assigned logical addressrespond to said bus controller, and thereafter said bus controllerassigns logical addresses to each of said additional network devicesthat do not currently have an associated logical address, wherein eachof said additional network devices initially has a common null addressprior to connection to the network bus, and wherein said bus controllerafter establishing communication with the network devices of saidinitial set of network devices, transmits a query on the network busrequesting that additional network devices connected to the network busstill having an associated common null address respond to said buscontroller, and thereafter said bus controller replaces the common nulladdress associated with each of said additional network devices with alogical address.
 6. A system according to claim 1, wherein each of thenetwork devices of said initial set of network devices and saidadditional network device initially have a common null address prior toconnection to the network bus, and wherein after said network deviceshave been connected to the network bus and assigned a logical address,if said network device is disconnected from the network bus, saidnetwork device replaces the assigned logical address with the commonnull address.
 7. A system for establishing communication over a networkbus comprising: an initial set of network devices in electricalcommunication with the network bus, wherein each of the network devicesof said initial set of network devices has an assigned logical addressidentifying the network devices on the network bus; a bus controller inelectrical communication with the network bus for establishingcommunication with network devices connected to the network bus usingthe logical address assigned to each network device; and at least oneadditional network device electrically connected to the network busafter said bus controller has established communication with saidinitial set of network devices, wherein said bus controller is capableof assigning a logical address to said additional network devices,wherein said bus controller after establishing communication with thenetwork devices of said initial set of network devices, transmits aquery on the network bus to all network devices at substantially thesame time requesting that additional network devices connected to thenetwork bus not having an assigned logical address respond to said buscontroller, and thereafter said bus controller assigns logical addressesto each of said additional network devices that do not currently have anassociated logical address, wherein said bus controller communicateswith network devices connected to the network bus according to ancommand schedule, wherein after said bus controller has establishedcommunication with said initial set of network devices according to thecommand schedule, if said additional network device is connected to thenetwork bus, said bus controller continues communication with saidinitial set of network devices based on the command schedule and assignsa logical address to said additional network device during predefinedpauses in the command schedule.
 8. A system for establishingcommunication over a network bus comprising: an initial set of networkdevices in electrical communication with the network bus, wherein eachof the network devices of said initial set of network devices has anassigned logical address identifying the network devices on the networkbus; a bus controller in electrical communication with the network busfor establishing communication with network devices connected to thenetwork bus using the logical address assigned to each network device;and at least one additional network device electrically connected to thenetwork bus after said bus controller has established communication withsaid initial set of network devices, wherein said bus controller iscapable of assigning a logical address to said additional networkdevices, wherein said bus controller after establishing communicationwith the network devices of said initial set of network devices,transmits a query on the network bus to all network devices atsubstantially the same time requesting that additional network devicesconnected to the network bus not having an assigned logical addressrespond to said bus controller, and thereafter said bus controllerassigns logical addresses to each of said additional network devicesthat do not currently have an associated logical address, wherein saidbus controller communicates with network devices connected to thenetwork bus according to an command schedule, wherein after said buscontroller has established communication with said initial set ofnetwork devices according to the command schedule, if said additionalnetwork device is connected to the network bus, said bus controllerpostpones communication with the network devices, assigns a logicaladdress to said additional network device, and resumes the commandschedule.
 9. A system for establishing communication over a network buscomprising: an initial set of network devices in electricalcommunication with the network bus, wherein each of the network devicesof said initial set of network devices has an assigned logical addressidentifying the network devices on the network bus; a bus controller inelectrical communication with the network bus for establishingcommunication with network devices connected to the network bus usingthe logical address assigned to each network device; and at least oneadditional network device electrically connected to the network busafter said bus controller has established communication with saidinitial set of network devices, wherein said bus controller is capableof assigning a logical address to said additional network devices,wherein said bus controller after establishing communication with thenetwork devices of said initial set of network devices, transmits aquery on the network bus to all network devices at substantially thesame time requesting that additional network devices connected to thenetwork bus not having an assigned logical address respond to said buscontroller, and thereafter said bus controller assigns logical addressesto each of said additional network devices that do not currently have anassociated logical address, wherein said bus controller communicateswith network devices connected to the network bus according to ancommand schedule, wherein said additional network device includes anassociated type identifier based on a function of the network device,and wherein after said bus controller has established communication withsaid initial set of network devices according to the command schedule,if said additional network device is connected to the network bus, saidbus controller assigns a logical address to said additional networkdevice and adds said additional network device to the command schedulebased on the type identifier associated with the additional networkdevice.
 10. A method for establishing communication between a buscontroller and network devices via a network bus comprising the stepsof: communicating between the bus controller and an initial set ofnetwork devices connected to the network bus, wherein each of thenetwork devices of the initial set of network devices has an assignedlogical address identifying the network device on the network bus;connecting at least one additional network device to the network busafter said communicating step has commenced communication between thebus controller and the initial set of network devices; and assigning alogical address to the additional network device added in saidconnecting step such that the additional network device can beidentified on the network bus, wherein said assigning step comprisesafter said communicating step has commenced communication with thenetwork devices of the initial set of network devices the step oftransmitting a query on the network bus to all network devices atsubstantially the same time requesting that additional network devicesconnected to the network bus not having an assigned logical addressrespond, and thereafter automatically arid independent of user inputassigning logical addresses to each of the additional network devicesthat do not currently have an associated logical address, wherein thelogical address for each network device is assigned based on a uniqueaspect of the network device, wherein said assigning step initiallyassigns a unique logical address to each network device of the set ofinitial network devices, and wherein said assigning going step assigns alogical address to the additional network device subsequently connectedto the bus network by said connecting step based on a unique aspect ofthe additional network device.
 11. A method according to claim 10,wherein the network devices of the initial set of network devices andthe additional network device has an associated manufacturing identifierbased partially on the geographic location where the network device wasmanufactured, and wherein said assigning step assigns logical addressesto the network devices of the initial set of network devices and theadditional network device based on the manufacturing identifierassociated with each network device.
 12. A method according to claim 11,wherein the network devices of the initial set of network devices andthe additional network device have an associated type identifier basedon a function of the network device, wherein said assigning step assignslogical addresses to each of the initial set of network devices and theadditional network device based on both the manufacturing identifier andthe type identifier associated with the network devices.
 13. A methodaccording to claim 12 further comprising the step of segmenting possiblelogical addresses to assign to the network devices into categories basedon the possible different types of network devices, and wherein saidassigning step, for each network device of the initial set of networkdevices and for the additional network device, assigns a logical addressto the network device from the category of logical addressescorresponding to the type identifier associated with the network device.14. A method for establishing communication between a bus controller andnetwork devices via a network bus comprising the steps of: communicatingbetween the bus controller and an initial set of network devicesconnected to the network bus, wherein each of the network devices of theinitial set of network devices has an assigned logical addressidentifying the network device on the network bus; connecting at leastone additional network device to the network bus after saidcommunicating step has commenced communication between the buscontroller and the initial set of network devices; and assigning alogical address to the additional network device added in saidconnecting step such that the additional network device can beidentified on the network bus, wherein said assigning step comprisesafter said communicating step has commenced communication with thenetwork devices of the initial set of network devices the step oftransmitting a query on the network bus to all network devices atsubstantially the same time requesting that additional network devicesconnected to the network bus not having an assigned logical addressrespond, and thereafter automatically and independent of user inputassigning logical addresses to each of the additional network devicesthat do not currently have an associated logical address, wherein eachof the additional network devices connected in said connecting stepinitially has a common null address prior to connection to the networkbus, wherein said transmitting step transmits a query on the network busrequesting that additional network devices connected to the network busstill having an associated common null address respond to said buscontroller, and thereafter said assigning step replaces the common nulladdress associated with each of the additional network devices with alogical address.
 15. A method according to claim 14 further comprisingthe step of replacing the logical address assigned to a network devicewith the common null address if the network device is disconnected fromthe network bus.
 16. A method according to claim 10, wherein saidcommunicating step communicates between the bus controller and thenetwork devices connected to the network bus according to an commandschedule, wherein after said communication step has establishedcommunication between the bus controller and the initial set of networkdevices according to the command schedule, if said connecting stepconnects an additional network device to the network bus, saidcommunicating step continues communication with the initial set ofnetwork devices based on the command schedule and said assigning stepassigns a logical address to the additional network device duringpredefined pauses in the command schedule.
 17. A method according toclaim 10, wherein said communicating step communicates between the buscontroller and the network devices connected to the network busaccording to an command schedule, wherein after said communication stephas established communication between the bus controller and the initialset of network devices according to the command schedule, if saidconnecting step connects an additional network device to the networkbus, said communication step postpones communication with the networkdevices, and said assigning step assigns a logical address to theadditional network device.
 18. A method according to claim 10, whereinsaid communicating step communicates between the bus controller and thenetwork devices connected to the network bus according to an commandschedule, wherein the additional network device bas an associated typeidentifier based on a function of the network device, and wherein aftersaid communication step has established communication between the buscontroller and the initial set of network devices according to thecommand schedule, if said connecting step connects an additional networkdevice to the network bus, said assigning step assigns a logical addressto the additional network device adds the additional network device tothe command schedule based on the type identifier associate with theadditional network device.
 19. A bus controller for establishingcommunication with network devices via a network bus using a logicaladdress assigned to each network device, wherein said bus controller iscapable of establishing communication with an initial set of networkdevices connected to the network bus each having an assigned logicaladdress identifying the network device and thereafter assigning alogical address to at least one additional network device subsequentlyconnected to the network bus, wherein said bus controller afterestablishing communication with the network devices of the initial setof network devices, transmits a query on the network bus to all networkdevices at substantially the same time requesting that additionalnetwork devices connected to the network bus riot having an assignedlogical address respond to said bus controller, and thereafter said buscontroller automatically and independent of user input assigns logicaladdresses to each of the additional network devices that do notcurrently have an associated logical address, wherein the logicaladdress for each network device is assigned based on a unique aspect ofthe network device, wherein said bus controller initially assigns aunique logical address to each network device of the set of initialnetwork devices, and wherein said bus controller after establishingcommunication with the set of initial network devices, assigns a logicaladdress to the additional network device subsequently connected to thebus network based on a unique aspect of the additional network device.20. A bus controller according to claim 19, wherein the network devicesof the initial set of network devices and the additional network devicehave an associated manufacturing identifier based partially on thegeographic location where the network device was manufactured, andwherein said bus controller assigns logical addresses to the networkdevice of the initial set of network devices and the additional networkdevice based on the manufacturing identifier associated with eachnetwork device.
 21. A bus controller according to claim 20, wherein thenetwork devices of the initial set of network devices and the additionalnetwork device have an associated type identifier based on a function ofthe network device, wherein said bus controller assigns logicaladdresses to each of the initial set of network devices and theadditional network device based on both the manufacturing identifier andthe type identifier associated with the network devices.
 22. A buscontroller according to claim 21, wherein said bus controller segmentspossible logical addresses to assign to the network devices intocategories based on the possible different types of network devices, andwherein said bus controller, for each network device of the initial setof network devices and for the additional network device, assigns alogical address to the network device from the category of logicaladdresses corresponding to the type identifier associated with thenetwork device.
 23. A bus controller according to claim 19, wherein eachof the additional network devices initially has a common null addressprior to connection to the network bus, and wherein said bus controllerafter establishing communication with the network devices of the initialset of network devices, transmits a query on the network bus requestingthat additional network devices connected to the network bus stillhaving an associated common null address respond to said bus controller,and thereafter said bus controller replaces the common null addressassociated with each of the additional network devices with a logicaladdress.
 24. A bus controller according to claim 19, wherein said buscontroller communicates with network devices connected to the networkbus according to an command schedule, wherein after said bus controllerhas established communication with the initial set of network devicesaccording to the command schedule, if an additional network device isconnected to the network bus, said bus controller continuescommunication with the initial set of network devices based on thecommand schedule and assigns a logical address to the additional networkdevice during predefined pauses in the command schedule.
 25. A buscontroller according to claim 19, wherein said bus controllercommunicates with network devices connected to the network bus accordingto an command schedule, wherein after said bus controller hasestablished communication with the initial set of network devicesaccording to the command schedule, Wan additional network device isconnected to the network bus, said bus controller postponescommunication with the network devices, assigns a logical address to theadditional network device, and resumes the command schedule.
 26. A buscontroller according to claim 19, wherein said bus controllercommunicates with network devices connected to the network bus accordingto an command schedule, wherein the additional network device includesan associated type identifier based on a function of the network device,and wherein after said bus controller has established communication withthe initial set of network devices according to the command schedule, ifthe additional network device is connected to the network bus, said buscontroller assigns a logical address to the additional network deviceand adds the additional network device to the command schedule based onthe type identifier associate with the additional network device.